/************************************************************************

								Heroes IV
					  Copyright 2000, The 3DO Company

	------------------------------------------------------------------
  						       hero_events.h

	$Header: /game/hero_events.h $

	$NoKeywords: $

 ************************************************************************/

#ifndef HERO_EVENTS_H_INCLUDED
#define HERO_EVENTS_H_INCLUDED

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "ownable_event_list.h"
#include "scriptable_event.h"

// --------------------------------------------------------------------------
// --------------------------------------------------------------------------
typedef t_hero_scriptable_event	t_hero_built_in_event_id;
t_hero_built_in_event_id const k_hero_built_in_event_count = k_hero_scriptable_event_count;

typedef t_ownable_built_in_event			t_hero_built_in_event;
typedef t_ownable_built_in_event_ptr		t_hero_built_in_event_ptr;
typedef t_hero_built_in_event_ptr			t_hero_built_in_event_list[ k_hero_built_in_event_count ];
typedef t_ownable_timed_event				t_hero_timed_event;
typedef t_ownable_timed_event_ptr			t_hero_timed_event_ptr;
typedef t_ownable_timed_event_list			t_hero_timed_event_list;
typedef t_ownable_triggerable_event			t_hero_triggerable_event;
typedef t_ownable_triggerable_event_ptr		t_hero_triggerable_event_ptr;
typedef t_ownable_triggerable_event_list	t_hero_triggerable_event_list;
typedef t_ownable_continuous_event			t_hero_continuous_event;
typedef t_ownable_continuous_event_ptr		t_hero_continuous_event_ptr;
typedef t_ownable_continuous_event_list		t_hero_continuous_event_list;

// --------------------------------------------------------------------------
// --------------------------------------------------------------------------
bool read_hero_built_in_events_from_map(
	std::streambuf &				stream,
	t_hero_built_in_event_list &	events );

// --------------------------------------------------------------------------
// --------------------------------------------------------------------------
bool read_hero_timed_events_from_map(
	std::streambuf &			stream,
	t_hero_timed_event_list &	events );

// --------------------------------------------------------------------------
// --------------------------------------------------------------------------
bool read_hero_triggerable_events_from_map(
	std::streambuf &				stream,
	t_hero_triggerable_event_list &	events );

// --------------------------------------------------------------------------
// --------------------------------------------------------------------------
bool read_hero_continuous_events_from_map(
	std::streambuf &				stream,
	t_hero_continuous_event_list &	events );

#endif // HERO_EVENTS_H_INCLUDED
